home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 142
/
Gekkan Dennou Club - 2000.3 Vol. 142 (Japan).7z
/
Gekkan Dennou Club - 2000.3 Vol. 142 (Japan) (Track 1).bin
/
tools
/
s44play
/
s44p101s.lzh
/
dolist.s
< prev
next >
Wrap
Text File
|
1999-11-17
|
2KB
|
114 lines
.include global.mac
;----------------------------------------------------------------
;CDのトラックの一覧を表示する
.text
.align 4,$2048
do_list::
link a6,#-256
movem.l d1-d3/a0-a2,-(sp)
bsr print_banner
;timera_check/timerd_check/malloc_buffer/make_tableが行われていないので注意
bsr init_scsiid
bmi 99f
bsr init_cdrom
bmi 99f
lea.l (m_list_banner,pc),a0
bsr print
lea.l cd_name,a0
tst.b (a0)
beq @f
bsr print
@@: bsr crlf
moveq.l #0,d2 ;音声トラック数
moveq.l #0,d3 ;音声フレーム数
lea.l cdda_trkinf,a2 ;トラック情報レコード
move.l cdda_mintrk,d0 ;先頭のトラック番号が1よりも大きかった場合に対応
subq.b #1,d0 ;(念のため)
mulu.w #trkinf_record_size,d0
lea.l (a2,d0.l),a2 ;cdda_mintrkのトラック情報レコードの先頭
move.l cdda_mintrk,d6 ;開始トラック番号
10:
lea.l (-256,a6),a0
move.b #' ',(a0)+
move.b #' ',(a0)+
move.b #'[',(a0)+
move.l d6,d0 ;今回のトラック番号
moveq.l #2,d1
bsr iusing
move.b #']',(a0)+
moveq.l #'*',d0
tst.b (trkinf_dattrk,a2) ;-1=データトラック
bne @f
moveq.l #' ',d0
addq.b #1,d2 ;音声トラック数を更新
add.l (trkinf_lenfrm,a2),d3 ;音声フレーム数を更新
@@: move.b d0,(a0)+
move.b #' ',(a0)+
move.l (trkinf_toptim,a2),d0 ;開始位置(00:02:00~)
bsr tim2str_pos ;開始位置
move.b #' ',(a0)+
move.b #'-',(a0)+
move.b #' ',(a0)+
move.l (trkinf_btmtim,a2),d0 ;終了位置(00:02:00~)
bsr tim2str_pos ;終了位置
move.b #' ',(a0)+
move.b #' ',(a0)+
move.l (trkinf_lentim,a2),d0 ;長さ(00:00:00~)
bsr tim2str_len ;長さ
move.b #' ',(a0)+
move.b #' ',(a0)+
lea.l (trkinf_name,a2),a1 ;トラック名
bsr strcpy
lea.l (-256,a6),a0
bsr printcrlf
lea.l (trkinf_record_size,a2),a2
addq.l #1,d6
cmp.l cdda_maxtrk,d6
bls 10b
lea.l (m_list_total_1,pc),a0
bsr print
move.l d2,d0 ;音声トラック数
moveq.l #2,d1 ;桁数
bsr iusing_print
lea.l (m_list_total_2,pc),a0
bsr print
lea.l (-256,a6),a0
move.l d3,d0 ;音声フレーム数
bsr frm2str_len
lea.l (-256,a6),a0
bsr printcrlf
99: movem.l (sp)+,d1-d3/a0-a2
unlk a6
rts
m_list_banner: .dc.b ' 番号 開始位置 - 終了位置 長さ ',0
m_list_total_1: .dc.b ' 音声トラック数=',0
m_list_total_2: .dc.b ' 再生時間=',0
.even